package cn.idcast.demo01;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/*
BufferedInputStream;字节缓冲输入流
构造方法摘要
BufferedInputStream(InputStream in)
          创建一个 BufferedInputStream 并保存其参数，即输入流 in，以便将来使用。
BufferedInputStream(InputStream in, int size)
          创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数，即输入流 in，以便将来使用。

使用步骤；
1，创建FilterOutputStream对象，构造方法中绑定要输出的目的地
2，创建BufferedInputStream对象，构造方法传递FilterOutputStream对象，提高FilterOutputStream对象读取效率
3，使用BufferedInputStream对象中的方法read，读取文件
4，释放资源
 */
public class Demo02BufferedInputStream {
    public static void main(String[] args) throws IOException {
        //1，创建FilterInputStream对象，构造方法中绑定要输出的目的地
        FileInputStream fis = new FileInputStream("E:\\WkJava\\day03--code\\p.txt");
        //2，创建BufferedInputStream对象，构造方法传递FilterOutputStream对象，提高FilterOutputStream对象读取效率
        BufferedInputStream bis = new BufferedInputStream(fis);
        //3，使用BufferedInputStream对象中的方法read，读取文件
       /* int len = 0;
        while ((len = bis.read()) != -1) {
            System.out.println(len);
        }*/

        //使用字节数组
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len= bis.read(bytes))!=-1){
            System.out.println(new String(bytes,0,len));
        }
        //4，释放资源
        bis.close();
    }
}
